/*----------------------------------------------------------------------------
Owner(s): Shane Whitfield
$Copyright: $
$Id: 

Purpose  : Basic weapon game object
----------------------------------------------------------------------------*/

#pragma once

#include "go.h"

/*--------------------------------------------------------------------------*/
//  Class CGoWeaponBasic declaration.
class CGoWeaponBasic : public CGoNode
{
	typedef CGoNode super;

public:

					CGoWeaponBasic();
					
	//CGo Overrides
	virtual EClass	GetClass() {
						return EClass_BasicWeapon;}
	
	//CGoNode Overrides
	virtual void	Update();
	virtual void	Render();
	
private:

	CGo* findNextTarget();

	enum EState
	{
		EState_WaitingConstruction,
		EState_WaitingForConnection,
		EState_SeekingTarget,
		EState_WaitingFindTargetPing,
		EState_Attacking,
		EState_RechargingAttack,
	};
	
	void setState(EState i_state);

	float		m_attackRange;
	EState		m_state;
	float		m_tState;
	CGo*		m_target;
};

/*-----------------------------------EOF!-----------------------------------*/
